package com.charwayh.prototype.deepclone;

/**
 * @author charwayH
 */
public class Client {
    public static void main(String[] args) throws CloneNotSupportedException {
        DeepProtoType p = new DeepProtoType();
        p.name = "宋江";
        p.deepCloneableTarget = new DeepCloneableTarget("大牛", "大牛的类");

//        // 方式1完成深拷贝
//        DeepProtoType p2 = (DeepProtoType)p.clone();
//        System.out.println("p.name=" + p.name +" p.deepCloneableTarget=" + p.deepCloneableTarget.hashCode());
//        System.out.println("p2.name=" + p2.name +" p2.deepCloneableTarget=" + p2.deepCloneableTarget.hashCode());

        // 方式2完成深拷贝
        DeepProtoType p2 = (DeepProtoType)p.deepClone();

        System.out.println("p.name=" + p.name +" p.deepCloneableTarget=" + p.deepCloneableTarget.hashCode());
        System.out.println("p2.name=" + p2.name +" p2.deepCloneableTarget=" + p2.deepCloneableTarget.hashCode());
    }
}
